#ifndef __TSS_H__
#define __TSS_H__

#include <asm/type.h>
#include <asm/gdt.h>

typedef struct {
    u32_t rev1;
    u64_t rsp0;
    u64_t rsp1;
    u64_t rsp2;
    u64_t rev2;
    u64_t ist1;
    u64_t ist2;
    u64_t ist3;
    u64_t ist4;
    u64_t ist5;
    u64_t ist6;
    u64_t ist7;
    u64_t rev3;
    u16_t rev4;
    u16_t iopb;
} __attribute__((packed)) tss_entry_t;

extern tss_entry_t TssVal;


extern void init_tss();
#endif //__TSS_H__